package es.gesfutbol.dao;

import org.hibernate.criterion.Restrictions;
import org.springframework.transaction.annotation.Transactional;

import es.gesfutbol.domini.implementacio.UsuariRegistrat;
import es.gesfutbol.util.HibernateDao;

public class UsuariRegistratDao extends HibernateDao<UsuariRegistrat, Long> implements IUsuariRegistratDao{

	@Transactional(readOnly=false)
	public void guardarUsuari(UsuariRegistrat usuariRegistrat) {
		this.getSessionFactory().getCurrentSession().saveOrUpdate(usuariRegistrat);		
	}

	@Transactional(readOnly=true)
	public boolean comprovarUsuari(String alies, String contrasenya) {
		boolean trobat = false; 
		UsuariRegistrat user = (UsuariRegistrat) this.getSessionFactory().getCurrentSession()
				.createCriteria(UsuariRegistrat.class)
				.add(Restrictions.eq("alies", alies))
				.add(Restrictions.eq("contrasenya", contrasenya)).uniqueResult();
		 
		 if(user != null){
			 trobat = true;
		 }
		 return trobat;
	}

	@Transactional(readOnly=true)
	public UsuariRegistrat findByAlies(String nomUsuari) {
		return (UsuariRegistrat) this.getSessionFactory().getCurrentSession()
					.createCriteria(UsuariRegistrat.class)
					.add(Restrictions.eq("alies", nomUsuari))
					.uniqueResult();
	}
	
}
